#include <stdio.h>


int get5(){
    return 5;
}

void * get5_void(){
    return 5;
}

void * get5_void_num(){
    int re = 5;
    // 由于函数运行结束局部变量释放了，所以后续对b取值直接报错
    return (void *)&re;
}

void * get5_void_num_ptr(){
    int * re;
    int a = 5;
    re = &a;
    // *re = 5 会直接报错，re初始化之后存的初始值是无效地址
    return (void *)re;
}


int main(int argc, char * argv[]){
    printf("%d\n", get5());
    int * a =  (int *)get5_void();
    void * bb = get5_void_num();
    int * b = (int *) bb;
    int * c = (int *) get5_void_num_ptr();
    return 0;
}